package com.chengqs.rainbow.api.account;

import com.chengqs.rainbow.api.account.domain.UserAccountDTO;
import com.chengqs.rainbow.common.core.exception.BusinessException;
import com.chengqs.rainbow.common.core.exception.NotFoundException;
import com.chengqs.rainbow.common.security.domain.AccountInfo;

import java.util.List;

/**
 * <B>主类名称：</B>AccountApi<BR>
 * <B>概要说明：</B>enter<BR>
 *
 * @author: chengqs
 * @create: 2025-09-06 20:44:15
 **/
public interface AccountApi {
    UserAccountDTO getByUsername(String username) throws NotFoundException, BusinessException;

    UserAccountDTO getById(Long id) throws NotFoundException, BusinessException;

    List<UserAccountDTO> getByIds(List<Long> ids) throws NotFoundException, BusinessException;

    AccountInfo login(String username, String password) throws NotFoundException, BusinessException;

    AccountInfo loginByMobile(String mobile) throws NotFoundException, BusinessException;

    AccountInfo loginByUnionId(String unionId) throws NotFoundException, BusinessException;
}
